//
//  GDMMainController.swift
//  GDMweibo
//
//  Created by mac on 15/11/25.
//  Copyright © 2015年 mac. All rights reserved.
//

import UIKit

class GDMMainController: UITabBarController {
    
    @IBOutlet weak var mainTabbar: GDMMainTabBar!

    override func viewDidLoad() {
        super.viewDidLoad()

//        加载导航控制器
        addChildViewControllers()
        
//        打印一下自定义的按钮
//        print(self.mainTabbar.composedButton)
//        添加按钮的点击事件
        mainTabbar.composedButton.addTarget(self, action: "clickBtn", forControlEvents: UIControlEvents.TouchUpInside)
        
    }
    
//    实现这个按钮被点击的方法,这个方法是不可以被那个关键字 private 修饰的，要是使用了，就会崩溃的
    func clickBtn (){
        
        print("\(__FUNCTION__)")
        
    }
    
//    不想让外界调用，这里可以直接使用这个private关键字
  private func addChildViewControllers() {
        
//        设置文字的颜色
        self.tabBar.tintColor = UIColor.orangeColor()
        
        addChildViewController("Home", title: "首页", imageName: "tabbar_home")
        
        addChildViewController("Discover", title: "发现", imageName: "tabbar_discover")
        
        addChildViewController("Message", title: "消息", imageName: "tabbar_message_center")
        
        addChildViewController("Profile", title: "我", imageName: "tabbar_profile")
        
/*

//        加载自控制器，首先加载主页的sb
        let sb = UIStoryboard(name: "Home", bundle: nil)
        
//        设置这个sb是一个初始化控制器,把这个控制器强转为导航控制器
        let nav = sb.instantiateInitialViewController() as! UINavigationController
        
//        故事板加载完毕之后加载导航控制器的子控制器
        
//        设置导航控制器上的文字
        nav.topViewController!.title = "首页"
        
//        设置tabbar上的标题
        nav.title = "首页"
        
//        设置上面的图片
        nav.tabBarItem.image = UIImage(named: "tabbar_home")
        
        nav.tabBarItem.selectedImage = UIImage(named: "tabbar_home_highlighted")
        
//        添加自控制器
        addChildViewController(nav)
    */
    }

//    重载添加子控制器的方法，添加不同的参数
  private func addChildViewController(sbName : String ,  title : String , imageName : String) {
        //        加载自控制器，首先加载主页的sb
        let sb = UIStoryboard(name: sbName, bundle: nil)
        
        //        设置这个sb是一个初始化控制器,把这个控制器强转为导航控制器
        let nav = sb.instantiateInitialViewController() as! UINavigationController
        
        //        故事板加载完毕之后加载导航控制器的子控制器
        
        //        设置导航控制器上的文字
        nav.topViewController!.title = title
    
//    设置这个名字的时候是由内而外的设置的
        //        设置tabbar上的标题
        nav.title = title
        
        //        设置上面的图片
        nav.tabBarItem.image = UIImage(named: imageName)
        
        nav.tabBarItem.selectedImage = UIImage(named: imageName + "_highlighted")
    
        //        添加自控制器
        addChildViewController(nav)
    }
    
  }
